package hcn.api.service.api.labreport;

import ctd.util.annotation.RpcService;
import hcn.protocol.ods.report.*;

import java.util.List;


/**
 * @author zzj
 */
public interface LabReportInterface {


    /**
     * 获取1份检验报告单
     * HCN->HIS
     *
     * @param orgId
     * @param sourceId
     * @param sourceFrom
     * @return
     */
    @RpcService
    LabReportBean getLabReport(String orgId, String sourceId, String sourceFrom);

    /**
     * 定向报告查询
     * HCN->HIS
     *
     * @param orgId
     * @param patientName
     * @param barCode
     * @return
     */
    @RpcService
    LabReportBean orientQueryLabReport(String orgId, String patientName, String barCode);

    /**
     *
     * @param orgId
     * @param patientName
     * @param barCode
     * @return
     */
    @RpcService
    List<LabReportBean> orientQueryLabReportList(String orgId, String patientName, String barCode);

    /**
     * 获取检验报告列表
     *
     * @param queryBean
     * @return
     */
    @RpcService
    List<LabReportBean> getLabReportList(LabHistoryQueryBean queryBean);

    /**
     * 获取检验危急值处理详情
     *
     * @param orgId
     * @param sourceId
     * @param sourceFrom
     * @return
     */
    @RpcService
    List<LabCrisisDetailBean> getLabCrisisDetail(String orgId, String sourceId, String sourceFrom);

    /**
     * 更新检验危急值处理状态
     *
     * @param report
     */
    @RpcService
    LabCrisisResultBean updateLabCrisis(LabUpdateCrisisBean report);
}
